import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

public class WordCount {
	// 这里创建的list用来存放每个命令处理后的输出的结果
	// 用来保存这些结果，需要输出到文件时，就将list中的结果都输出到指定文件中
	public static ArrayList<String> arrayList = new ArrayList<String>();

	public static void main(String[] args) {

		WordCount wc = new WordCount();
		if (args.length > 1) {
			int last = args.length - 1;
			String name = args[last]; // 用来存放读取文件的名字
			String outputName = ""; // 用来存放输出文件的名字
			String tmp;

			// 是否将结果写入某个文件的标志
			int flag = 0;

			// 这个for用来判断是否需要将信息输出到一个文件中
			for (int i = 0; i < last; i++)
				if (args[i].equals("-o")) {
					flag = 1;
					name = args[last - 2];
					outputName = args[last];
					break;
				}

			// 这个for用来循环读取命令行中传入的参数
			for (int i = 0; i < last; i++)
				if (args[i].equals("-c")) {
					tmp = new String(wc.getC(name));
					System.out.println(tmp);
					arrayList.add(tmp);
				} else if (args[i].equals("-w")) {
					tmp = new String(wc.getW(name));
					System.out.println(tmp);
					arrayList.add(tmp);
				} else if (args[i].equals("-l")) {
					tmp = new String(wc.getl(name));
					System.out.println(tmp);
					arrayList.add(tmp);
				} else if (args[i].equals("-a")) {
					tmp = new String(wc.geta(name));
					System.out.println(tmp);
					arrayList.add(tmp);
				}

			// 如果flag=1，表示需要将结果输出到一个文件中
			if (flag == 1) {
				wc.writeFile(outputName);
				System.out.println();
				System.out.println("将信息写入" + outputName + "文件成功！！！");
			}
		} else
			System.out.println("请先输入参数！！！"); // 如果wc.exe后面没有输入参数，就打印提示信息
		

	}

	